summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2023-06-19 15:47:05 +0200
committerLiam <byteslice@airmail.cc>2023-06-19 15:47:05 +0200
commite5f1b22e16b32f36ca3a7af24cbda4f39bc861aa (patch)
tree9f3bb5a406a5194e13cf86d85154f45cf78a6d24
parentvfs_concat: fix offset calculation when not aligned to file boundary (diff)
downloadyuzu-e5f1b22e16b32f36ca3a7af24cbda4f39bc861aa.tar
yuzu-e5f1b22e16b32f36ca3a7af24cbda4f39bc861aa.tar.gz
yuzu-e5f1b22e16b32f36ca3a7af24cbda4f39bc861aa.tar.bz2
yuzu-e5f1b22e16b32f36ca3a7af24cbda4f39bc861aa.tar.lz
yuzu-e5f1b22e16b32f36ca3a7af24cbda4f39bc861aa.tar.xz
yuzu-e5f1b22e16b32f36ca3a7af24cbda4f39bc861aa.tar.zst
yuzu-e5f1b22e16b32f36ca3a7af24cbda4f39bc861aa.zip
-rw-r--r--src/core/file_sys/vfs_concat.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/file_sys/vfs_concat.cpp b/src/core/file_sys/vfs_concat.cpp
index 5285467d2..311a59e5f 100644
--- a/src/core/file_sys/vfs_concat.cpp
+++ b/src/core/file_sys/vfs_concat.cpp
@@ -168,6 +168,11 @@ std::size_t ConcatenatedVfsFile::Read(u8* data, std::size_t length, std::size_t
cur_offset += actual_read_size;
cur_length -= actual_read_size;
it++;
+
+ // If we encountered a short read, we're done.
+ if (actual_read_size < intended_read_size) {
+ break;
+ }
}
return cur_offset - offset;